第3节 红灯停绿灯行—识别交通信号
在上一章我们采用机器学习的方法制作了级联分类器来识别物体。这一部分通过深度学习的方法来训练识别特定物体
原理图
摄像头->大白\n树莓派: CSI/USB
大白\n树莓派-->客户端: WiFi
Note right of 大白\n树莓派: HTTP协议传送摄像头数据\n神经网络收集和训练数据\n应用级联分类器处理交通信号
识别交通信号
1.打开终端
cd ~/Desktop/learn-ai/codes/chapter5/SelfDrivingCar
cd computer
python3 rc_driver.py
2.新建一个终端窗口
cd ~/Desktop/learn-ai/codes/chapter5/SelfDrivingCar
cd raspberryPi
python3 stream_client.py
本节已经使用训练好的级联分类器,可以识别STOP交通信号牌。 当识别后,小车会自动停止。
识别超声波信号
在现有的基础上,只需要再新建一个终端窗口
cd ~/Desktop/learn-ai/codes/chapter5/SelfDrivingCar
cd raspberryPi
python3 ultrasonic_client.py
把障碍物放到车前,车是不是自动停止了呢?
使用自己的分类器
通过修改rc_drive.py文件,我们也可以使用上一章中训练的级联分类器。也可以训练新的分类器,比如其他交通信号。
1.放置分类器
通过文件管理器,将上次训练的级联分类器xml文件复制到如下位置
2.编辑自动驾驶文件,引用自己的分类器
cd ~/Desktop/learn-ai/codes/chapter5/self_driving_car
cd computer
# cp命令复制一个新的文件,防止对原来文件改动造成错误
sudo cp rc_driver.py rc_driver_my_object.py
sudo nano -c rc_driver_my_object.py
在箭头处,仿照上面的语法,尝试添加自己的分类器引用。
完成后,按Ctrl
+X
,然后按Y
确认并回车,来退出文本编辑器。
3.新建终端,重复上一节的操作,开始无人驾驶
cd ~/Desktop/learn-ai/codes/chapter5/SelfDrivingCar
cd computer
python3 rc_drive_my_object.py
4.新建一个终端窗口
cd ~/Desktop/learn-ai/codes/chapter5/SelfDrivingCar
cd raspberryPi
python3 stream_client.py